package com.ruoyi.ftrl.mqtt.service;

import org.springframework.stereotype.Service;

/**
 * MQTT服务接口
 */
@Service
public interface MqttService {
    
    /**
     * 连接到MQTT服务器
     * 
     * @return 是否连接成功
     */
    boolean connect();
    
    /**
     * 订阅主题
     * 
     * @param topic 主题
     * @param qos 服务质量
     * @return 是否订阅成功
     */
    boolean subscribe(String topic, int qos);
    
    /**
     * 发布消息
     * 
     * @param topic 主题
     * @param payload 消息内容
     * @param qos 服务质量
     * @return 是否发布成功
     */
    boolean publish(String topic, String payload, int qos);
    
    /**
     * 断开连接
     */
    void disconnect();
    
    /**
     * 获取连接状态
     * 
     * @return 是否已连接
     */
    boolean isConnected();
}